The administration of both public and private organizations relies heavily on records that document the work of the organizations. Electronic records are rapidly replacing paper records because they are less expensive, easier to store and retrieve, and simultaneously accessible by any number of users. An electronic record is a collection of related elements presented in a certain structure.
A “records management application” refers to software for creating, processing, and storing electronic records. These applications typically have a multi-tiered architecture. In those cases where the applications are delivered over the Internet they are commonly referred to as Web-based applications. FIG. 1 is a block diagram of a records management application 100 having a multi-tiered architecture.
Records management application 100 includes client layer 110, application layer 120, and database layer 130. Client layer 110 includes user interface 112 that runs on a client computing device such as a desktop computer, laptop computer, personal digital assistant, telephone, and the like. In a Web-based environment, user interface 112 is typically a Web browser. User interface 112 may collect input from a user and provide that input to application layer 120 for processing.
Application layer 120 includes application server 122 to receive and process input from client layer 110. Application server 122 typically includes a number of subcomponents including, for example, connectivity layer 140, presentation logic 142, business logic 144, and database interface 146. Connectivity layer 140 provides connections to client layer 110 using protocols such as the HyperText Transfer Protocol (HTTP), HTTP secured through the Secure Socket Layer, the Simple Object Access Protocol (SOAP), and the like. The HTTP protocol refers to any of the HTTP protocols including, for example, the protocol described in Request For Comments (RFC) 2616 entitled, “HyperText Transport Protocol—HTTP/1.1” June 1999 (hereinafter, the HTTP protocol). The SOAP protocol refers to any of the SOAP protocols including the one promulgated by the World Wide Consortium (W3C) entitled, “SOAP Version 1.1 Part 1: Messaging Framework and Part 2: Adjuncts,” 24 Jun. 2003 (hereinafter, the SOAP protocol). The Secure Socket Layer protocol refers to any of the Secure Socket Layer protocols including, for example, the protocol entitled, “The SSL Protocol Ver. 3.0” Nov. 18, 1996 (the HTTPS protocol).
Presentation logic 142 generates a Graphical User Interface (GUI) using, for example, a markup language such as the Hyper Text Markup Language (HTML) or the eXtensible Markup Language (XML). Business logic 144 represents the core of the application, for example, the rules governing the processing of an electronic record (or other functionality provided by the application). The Java 2 Enterprise Edition Specification v1.3, published on Jul. 27, 2001 (the J2EE Standard) defines an increasingly popular architecture for application layer 120.
Database layer 130 includes data access logic used by business logic 144 to store and retrieve data (e.g., electronic records) in database 132. Database 132 provides non-volatile storage (sometimes referred to as a persistent store) for the data accessed and/or processed by application layer 120. Database 132 may be, for example, a relational database or an object-oriented database.
Typically, electronic records are displayed in a graphical user interface of client layer 110. The displayed electronic record may have a hierarchical structure consisting of zero or more elements. One or more of the displayed elements may be another record having its own element structure. The term “nested record” refers to an electronic record that is an element of another electronic element. Conventional record management infrastructures may not provide a transparent mechanism for displaying and modifying the structure of a nested record.